﻿



using System; 
using System.Collections;
using System.Collections.Generic ;
using System.Runtime.Serialization;

namespace ufida.u9.ait.openapi
{
	/// <summary>
	/// 用于PO转单的收货行信息DTO Copy DTO :REST自定义的数据传输类型 
	/// 
	/// </summary>
	[DataContract(Namespace = "ufida.u9.ait.openapi")]
	[Serializable]
	public partial class CopyOfRcvLineInfoDTOData  
	{
		/// <summary>
		/// Default Constructor
		/// </summary>
		public CopyOfRcvLineInfoDTOData()
		{
			initData();
		}
		private void initData()
		{
		
		
		
		
		
		
		
		
					DocLineNo= 0; 
							StorageType= -1; 
				
					InvLotValidDate= 0; 
				

			//调用默认值初始化服务进行配置方式初始化
			UFSoft.UBF.Service.DTOService.InitConfigDefault(this);
		}
		[System.Runtime.Serialization.OnDeserializing]
		internal void OnDeserializing(System.Runtime.Serialization.StreamingContext context)
		{
			 initData();
		}
		#region Do SerializeKey -ForDTODataType
		//只为处理集合型EntityKey。原因集合型EntityKey由于使用臫的集合对象，无法实现数据共享.-UBF专用.
		public void DoSerializeKeyList(IDictionary dict)
		{
			if (dict == null ) dict = new Hashtable() ;
			if (dict[this] != null)
				return ;
			dict[this] = this;
	        	        			if (this.SNListInfoDTOs!=null)
			{
				foreach(UFIDA.U9.ISV.RCV.SNListInfoDTOData objdata in this.SNListInfoDTOs)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
				        			if (this.LineLocations!=null)
			{
				foreach(UFIDA.U9.ISV.RCV.DTO.OBARcvLineLocationDTOData objdata in this.LineLocations)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
				        	        	        	        	        	        	        	        	        	        
		}
		#endregion 
		/// <summary>
		/// Constructor Full Argument
		/// </summary>
		public CopyOfRcvLineInfoDTOData(  Int64 wh  , List<UFIDA.U9.ISV.RCV.SNListInfoDTOData> sNListInfoDTOs  , List<UFIDA.U9.ISV.RCV.DTO.OBARcvLineLocationDTOData> lineLocations  , System.String invLotCode  , System.String whCode  , Int64 whMan  , System.String whManCode  , System.String docNo  , System.Int32 docLineNo  , System.Int32 storageType  , System.DateTime invLotEnableDate  , System.Int32 invLotValidDate  , System.DateTime invDisabledTime  )
		{
			initData();
			this.Wh = wh;
			this.SNListInfoDTOs = sNListInfoDTOs;
			this.LineLocations = lineLocations;
			this.InvLotCode = invLotCode;
			this.WhCode = whCode;
			this.WhMan = whMan;
			this.WhManCode = whManCode;
			this.DocNo = docNo;
			this.DocLineNo = docLineNo;
			this.StorageType = storageType;
			this.InvLotEnableDate = invLotEnableDate;
			this.InvLotValidDate = invLotValidDate;
			this.InvDisabledTime = invDisabledTime;
		}
		#region System Fields 
		//--系统字段,目前没有.EntityData上有相应的字段,用于保存相关的实体状态信息,DTO上没有状态信息.	
		#endregion
		
		#region DTO Properties 
	
		private UFSoft.UBF.Business.BusinessEntity.EntityKey m_wh_SKey ;
		/// <summary>
		/// 存储地点 序列化Key属性。（传递跨组织序列列字段）
		/// 用于PO转单的收货行信息DTO Copy.Misc.存储地点
		/// </summary>
		[DataMember(IsRequired=false)]
		public UFSoft.UBF.Business.BusinessEntity.EntityKey Wh_SKey
		{
			get 
			{
				return m_wh_SKey ;					
			}
			set
			{
				m_wh_SKey =value;	
			}
		}


		/// <summary>
		/// 存储地点
		/// 用于PO转单的收货行信息DTO Copy.Misc.存储地点
		/// </summary>
		[DataMember(IsRequired=false)]
		public Int64 Wh
		{
			get	
			{	
				if (Wh_SKey == null)
					return UFSoft.UBF.Business.Entity.EmptyObjectValue ;
				else
					return Wh_SKey.ID ;
			}
			set	
			{	
				if (value == 0 || value == UFSoft.UBF.Business.Entity.EmptyObjectValue )
					Wh_SKey = null ;
				else
				{
					if (Wh_SKey == null )
						Wh_SKey = new UFSoft.UBF.Business.BusinessEntity.EntityKey(value,"UFIDA.U9.CBO.SCM.Warehouse.Warehouse") ;
					else
						Wh_SKey.ID = value ;
				}
			}
		}
			
		

		/// <summary>
		/// 序列号DTOS
		/// 用于PO转单的收货行信息DTO Copy.Misc.序列号DTOS
		/// </summary>
		private List<UFIDA.U9.ISV.RCV.SNListInfoDTOData> m_sNListInfoDTOs ;
		[DataMember(IsRequired=false)]
		public List<UFIDA.U9.ISV.RCV.SNListInfoDTOData> SNListInfoDTOs
		{
			get	
			{	
				if (m_sNListInfoDTOs == null )
				{
					List<UFIDA.U9.ISV.RCV.SNListInfoDTOData> n_m_list = new List<UFIDA.U9.ISV.RCV.SNListInfoDTOData>() ;
					m_sNListInfoDTOs = n_m_list ;
				}
				return m_sNListInfoDTOs ;
			}
			set	
			{	
				m_sNListInfoDTOs = value ;	
			}
		}
			
		

		/// <summary>
		/// 行库位
		/// 用于PO转单的收货行信息DTO Copy.Misc.行库位
		/// </summary>
		private List<UFIDA.U9.ISV.RCV.DTO.OBARcvLineLocationDTOData> m_lineLocations ;
		[DataMember(IsRequired=false)]
		public List<UFIDA.U9.ISV.RCV.DTO.OBARcvLineLocationDTOData> LineLocations
		{
			get	
			{	
				if (m_lineLocations == null )
				{
					List<UFIDA.U9.ISV.RCV.DTO.OBARcvLineLocationDTOData> n_m_list = new List<UFIDA.U9.ISV.RCV.DTO.OBARcvLineLocationDTOData>() ;
					m_lineLocations = n_m_list ;
				}
				return m_lineLocations ;
			}
			set	
			{	
				m_lineLocations = value ;	
			}
		}
			
		

		/// <summary>
		/// 库存批号
		/// 用于PO转单的收货行信息DTO Copy.Misc.库存批号
		/// </summary>
		private System.String m_invLotCode ;
		[DataMember(IsRequired=false)]
		public System.String InvLotCode
		{
			get	
			{	
				return m_invLotCode ;
			}
			set	
			{	
				m_invLotCode = value ;	
			}
		}
			
		

		/// <summary>
		/// 存储地点编码
		/// 用于PO转单的收货行信息DTO Copy.Misc.存储地点编码
		/// </summary>
		private System.String m_whCode ;
		[DataMember(IsRequired=false)]
		public System.String WhCode
		{
			get	
			{	
				return m_whCode ;
			}
			set	
			{	
				m_whCode = value ;	
			}
		}
			
		private UFSoft.UBF.Business.BusinessEntity.EntityKey m_whMan_SKey ;
		/// <summary>
		/// 库管员 序列化Key属性。（传递跨组织序列列字段）
		/// 用于PO转单的收货行信息DTO Copy.Misc.库管员
		/// </summary>
		[DataMember(IsRequired=false)]
		public UFSoft.UBF.Business.BusinessEntity.EntityKey WhMan_SKey
		{
			get 
			{
				return m_whMan_SKey ;					
			}
			set
			{
				m_whMan_SKey =value;	
			}
		}


		/// <summary>
		/// 库管员
		/// 用于PO转单的收货行信息DTO Copy.Misc.库管员
		/// </summary>
		[DataMember(IsRequired=false)]
		public Int64 WhMan
		{
			get	
			{	
				if (WhMan_SKey == null)
					return UFSoft.UBF.Business.Entity.EmptyObjectValue ;
				else
					return WhMan_SKey.ID ;
			}
			set	
			{	
				if (value == 0 || value == UFSoft.UBF.Business.Entity.EmptyObjectValue )
					WhMan_SKey = null ;
				else
				{
					if (WhMan_SKey == null )
						WhMan_SKey = new UFSoft.UBF.Business.BusinessEntity.EntityKey(value,"UFIDA.U9.CBO.HR.Operator.Operators") ;
					else
						WhMan_SKey.ID = value ;
				}
			}
		}
			
		

		/// <summary>
		/// 库管员编码
		/// 用于PO转单的收货行信息DTO Copy.Misc.库管员编码
		/// </summary>
		private System.String m_whManCode ;
		[DataMember(IsRequired=false)]
		public System.String WhManCode
		{
			get	
			{	
				return m_whManCode ;
			}
			set	
			{	
				m_whManCode = value ;	
			}
		}
			
		

		/// <summary>
		/// 属性
		/// 用于PO转单的收货行信息DTO Copy.Misc.属性
		/// </summary>
		private System.String m_docNo ;
		[DataMember(IsRequired=false)]
		public System.String DocNo
		{
			get	
			{	
				return m_docNo ;
			}
			set	
			{	
				m_docNo = value ;	
			}
		}
			
		

		/// <summary>
		/// 属性1
		/// 用于PO转单的收货行信息DTO Copy.Misc.属性1
		/// </summary>
		private System.Int32 m_docLineNo ;
		[DataMember(IsRequired=false)]
		public System.Int32 DocLineNo
		{
			get	
			{	
				return m_docLineNo ;
			}
			set	
			{	
				m_docLineNo = value ;	
			}
		}
			
		

		/// <summary>
		/// 属性2
		/// 用于PO转单的收货行信息DTO Copy.Misc.属性2
		/// </summary>
		private System.Int32 m_storageType ;
		[DataMember(IsRequired=false)]
		public System.Int32 StorageType
		{
			get	
			{	
				return m_storageType ;
			}
			set	
			{	
				m_storageType = value ;	
			}
		}
			
		

		/// <summary>
		/// InvLotEnableDate 
		/// 用于PO转单的收货行信息DTO Copy.Misc.InvLotEnableDate 
		/// </summary>
		private System.DateTime m_invLotEnableDate ;
		[DataMember(IsRequired=false)]
		public System.DateTime InvLotEnableDate
		{
			get	
			{	
				return m_invLotEnableDate ;
			}
			set	
			{	
				m_invLotEnableDate = value ;	
			}
		}
			
		

		/// <summary>
		/// InvLotValidDate
		/// 用于PO转单的收货行信息DTO Copy.Misc.InvLotValidDate
		/// </summary>
		private System.Int32 m_invLotValidDate ;
		[DataMember(IsRequired=false)]
		public System.Int32 InvLotValidDate
		{
			get	
			{	
				return m_invLotValidDate ;
			}
			set	
			{	
				m_invLotValidDate = value ;	
			}
		}
			
		

		/// <summary>
		/// InvDisabledTime
		/// 用于PO转单的收货行信息DTO Copy.Misc.InvDisabledTime
		/// </summary>
		private System.DateTime m_invDisabledTime ;
		[DataMember(IsRequired=false)]
		public System.DateTime InvDisabledTime
		{
			get	
			{	
				return m_invDisabledTime ;
			}
			set	
			{	
				m_invDisabledTime = value ;	
			}
		}
			
		#endregion	

		#region Multi_Fields
																										
		#endregion 
	} 	
}
